ci: add AGENTS.md integrity gate#14077
Conversation
Wire the shared Comfy-Org/github-workflows AGENTS.md integrity check into this repo as a thin, SHA-pinned caller. It enforces the standard on every PR and push to main: root AGENTS.md under 200 lines, a CLAUDE.md `@AGENTS.md` shim, a sibling shim for every nested AGENTS.md, and no legacy .cursorrules. The checker is loaded from a pinned ref of the shared repo, never this repo's checkout, so a PR can't weaken the check. Also add a root-anchored /AGENTS.md CODEOWNERS rule (same owner as the existing **/AGENTS.md rule) so the top-level file has an explicit DRI.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 49 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
🎭 Playwright: ✅ 1728 passed, 0 failed · 2 flaky📊 Browser Reports
📦 Bundle: 8.08 MB gzip ⚪ 0 BDetailsSummary
Category Glance App Entry Points — 3.64 kB (baseline 3.64 kB) • ⚪ 0 BMain entry bundles and manifests Status: 1 unchanged Graph Workspace — 1.25 MB (baseline 1.25 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration Status: 2 unchanged Views & Navigation — 112 kB (baseline 112 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces Status: 16 unchanged Panels & Settings — 551 kB (baseline 551 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens Status: 26 unchanged User & Accounts — 29.1 kB (baseline 29.1 kB) • ⚪ 0 BAuthentication, profile, and account management bundles Status: 10 unchanged Editors & Dialogs — 121 kB (baseline 121 kB) • ⚪ 0 BModals, dialogs, drawers, and in-app editors Status: 6 unchanged UI Components — 64.7 kB (baseline 64.7 kB) • ⚪ 0 BReusable component library chunks Status: 14 unchanged Data & Services — 3.37 MB (baseline 3.37 MB) • ⚪ 0 BStores, services, APIs, and repositories Status: 17 unchanged Utilities & Hooks — 357 kB (baseline 357 kB) • ⚪ 0 BHelpers, composables, and utility bundles Status: 35 unchanged Vendor & Third-Party — 15.7 MB (baseline 15.7 MB) • ⚪ 0 BExternal libraries and shared vendor chunks Status: 16 unchanged Other — 12.4 MB (baseline 12.4 MB) • ⚪ 0 BBundles that do not match a named category Status: 274 unchanged ⚡ Performance Report
Show regressions
All metrics
Historical variance (last 15 runs)
Trend (last 15 commits on main)
Raw data{
"timestamp": "2026-07-24T02:30:00.791Z",
"gitSha": "b981a09b311861d43c95b521b7591c812e1f2f76",
"branch": "matt/agents-md-integrity-caller",
"measurements": [
{
"name": "canvas-idle",
"durationMs": 2024.991,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.588999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 529.9710000000001,
"heapDeltaBytes": 3528488,
"heapUsedBytes": 71094628,
"domNodes": 20,
"jsHeapTotalBytes": 20586496,
"scriptDurationMs": 21.165000000000003,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-idle",
"durationMs": 2060.8579999999392,
"styleRecalcs": 10,
"styleRecalcDurationMs": 10.130999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 576.526,
"heapDeltaBytes": 3464276,
"heapUsedBytes": 70987896,
"domNodes": 20,
"jsHeapTotalBytes": 20848640,
"scriptDurationMs": 25.431999999999995,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "canvas-mouse-sweep",
"durationMs": 2069.1359999999577,
"styleRecalcs": 78,
"styleRecalcDurationMs": 48.254000000000005,
"layouts": 12,
"layoutDurationMs": 4.019,
"taskDurationMs": 1030.713,
"heapDeltaBytes": -14626480,
"heapUsedBytes": 52761024,
"domNodes": -259,
"jsHeapTotalBytes": 21499904,
"scriptDurationMs": 137.387,
"eventListeners": -133,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1937.3420000000579,
"styleRecalcs": 74,
"styleRecalcDurationMs": 43.397999999999996,
"layouts": 12,
"layoutDurationMs": 4.078,
"taskDurationMs": 1016.411,
"heapDeltaBytes": -20310684,
"heapUsedBytes": 47175032,
"domNodes": -266,
"jsHeapTotalBytes": 22024192,
"scriptDurationMs": 135.55,
"eventListeners": -133,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1740.479999999934,
"styleRecalcs": 33,
"styleRecalcDurationMs": 18.896000000000004,
"layouts": 6,
"layoutDurationMs": 0.7790000000000001,
"taskDurationMs": 403.17400000000004,
"heapDeltaBytes": 7036132,
"heapUsedBytes": 74558652,
"domNodes": 78,
"jsHeapTotalBytes": 20848640,
"scriptDurationMs": 23.309000000000005,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1754.338999999959,
"styleRecalcs": 31,
"styleRecalcDurationMs": 19.903,
"layouts": 6,
"layoutDurationMs": 0.6710000000000002,
"taskDurationMs": 490.74299999999994,
"heapDeltaBytes": 7163344,
"heapUsedBytes": 74555584,
"domNodes": 78,
"jsHeapTotalBytes": 20586496,
"scriptDurationMs": 31.108000000000004,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "dom-widget-clipping",
"durationMs": 594.7750000000269,
"styleRecalcs": 10,
"styleRecalcDurationMs": 6.669999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 378.95799999999997,
"heapDeltaBytes": -12059052,
"heapUsedBytes": 55446240,
"domNodes": 16,
"jsHeapTotalBytes": 21372928,
"scriptDurationMs": 58.06800000000001,
"eventListeners": 0,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "dom-widget-clipping",
"durationMs": 669.0479999999752,
"styleRecalcs": 11,
"styleRecalcDurationMs": 8.655,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 437.50999999999993,
"heapDeltaBytes": -11944392,
"heapUsedBytes": 55691356,
"domNodes": 18,
"jsHeapTotalBytes": 20848640,
"scriptDurationMs": 63.81099999999999,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.670000000000012,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-idle",
"durationMs": 2030.0239999999121,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.224000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 717.5899999999999,
"heapDeltaBytes": 6540324,
"heapUsedBytes": 65101084,
"domNodes": -269,
"jsHeapTotalBytes": 5054464,
"scriptDurationMs": 115.85600000000001,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-idle",
"durationMs": 2037.9130000000032,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.868,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 893.754,
"heapDeltaBytes": 6713280,
"heapUsedBytes": 65830884,
"domNodes": -266,
"jsHeapTotalBytes": 5054464,
"scriptDurationMs": 132.97899999999998,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-pan",
"durationMs": 2144.3649999999934,
"styleRecalcs": 69,
"styleRecalcDurationMs": 15.247000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1232.8790000000001,
"heapDeltaBytes": 1768416,
"heapUsedBytes": 61410068,
"domNodes": -268,
"jsHeapTotalBytes": 5259264,
"scriptDurationMs": 406.061,
"eventListeners": -127,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "large-graph-pan",
"durationMs": 2400.5079999999452,
"styleRecalcs": 68,
"styleRecalcDurationMs": 16.313000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1484.5860000000002,
"heapDeltaBytes": 5399656,
"heapUsedBytes": 65054140,
"domNodes": -271,
"jsHeapTotalBytes": 4210688,
"scriptDurationMs": 474.11300000000006,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3244.9309999999514,
"styleRecalcs": 65,
"styleRecalcDurationMs": 17.434,
"layouts": 60,
"layoutDurationMs": 8.593,
"taskDurationMs": 1599.06,
"heapDeltaBytes": 1540080,
"heapUsedBytes": 62501940,
"domNodes": -273,
"jsHeapTotalBytes": 7413760,
"scriptDurationMs": 561.17,
"eventListeners": -133,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3497.5220000000036,
"styleRecalcs": 63,
"styleRecalcDurationMs": 16.046000000000003,
"layouts": 60,
"layoutDurationMs": 9.386999999999999,
"taskDurationMs": 1763.715,
"heapDeltaBytes": 12192044,
"heapUsedBytes": 73443724,
"domNodes": -276,
"jsHeapTotalBytes": 7938048,
"scriptDurationMs": 616.307,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2068.891000000008,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.107,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 758.2909999999999,
"heapDeltaBytes": 6642052,
"heapUsedBytes": 67031780,
"domNodes": -270,
"jsHeapTotalBytes": 5054464,
"scriptDurationMs": 121.234,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2074.9439999999595,
"styleRecalcs": 7,
"styleRecalcDurationMs": 6.966,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 905.181,
"heapDeltaBytes": 7054268,
"heapUsedBytes": 67267520,
"domNodes": -269,
"jsHeapTotalBytes": 4792320,
"scriptDurationMs": 136.61299999999997,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 646.9950000000608,
"styleRecalcs": 46,
"styleRecalcDurationMs": 10.281,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 426.913,
"heapDeltaBytes": -11595620,
"heapUsedBytes": 55895336,
"domNodes": 18,
"jsHeapTotalBytes": 21897216,
"scriptDurationMs": 127.437,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 703.0549999999494,
"styleRecalcs": 46,
"styleRecalcDurationMs": 11.321000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 458.442,
"heapDeltaBytes": -11609836,
"heapUsedBytes": 55920276,
"domNodes": 18,
"jsHeapTotalBytes": 21897216,
"scriptDurationMs": 136.617,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-idle",
"durationMs": 2015.2570000000196,
"styleRecalcs": 10,
"styleRecalcDurationMs": 8.417,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 517.095,
"heapDeltaBytes": 3307800,
"heapUsedBytes": 70800596,
"domNodes": 20,
"jsHeapTotalBytes": 21110784,
"scriptDurationMs": 18.083,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-idle",
"durationMs": 2022.469000000001,
"styleRecalcs": 10,
"styleRecalcDurationMs": 8.866999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 570.93,
"heapDeltaBytes": 3463316,
"heapUsedBytes": 70843384,
"domNodes": 20,
"jsHeapTotalBytes": 20848640,
"scriptDurationMs": 22.522999999999996,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1778.2610000000432,
"styleRecalcs": 76,
"styleRecalcDurationMs": 40.489999999999995,
"layouts": 16,
"layoutDurationMs": 5.098,
"taskDurationMs": 849.2149999999999,
"heapDeltaBytes": -19122644,
"heapUsedBytes": 48468436,
"domNodes": -267,
"jsHeapTotalBytes": 21237760,
"scriptDurationMs": 98.736,
"eventListeners": -133,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1754.1049999999814,
"styleRecalcs": 75,
"styleRecalcDurationMs": 40.40299999999999,
"layouts": 16,
"layoutDurationMs": 4.863,
"taskDurationMs": 906.571,
"heapDeltaBytes": -19462508,
"heapUsedBytes": 48256120,
"domNodes": -267,
"jsHeapTotalBytes": 20451328,
"scriptDurationMs": 105.489,
"eventListeners": -133,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "subgraph-transition-enter",
"durationMs": 1402.5120000000015,
"styleRecalcs": 17,
"styleRecalcDurationMs": 32.023999999999994,
"layouts": 13,
"layoutDurationMs": 12.416999999999998,
"taskDurationMs": 1068.3819999999998,
"heapDeltaBytes": 29156088,
"heapUsedBytes": 98948692,
"domNodes": 13673,
"jsHeapTotalBytes": 15466496,
"scriptDurationMs": 40.643999999999984,
"eventListeners": 2371,
"totalBlockingTimeMs": 124,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8264.662000000044,
"styleRecalcs": 250,
"styleRecalcDurationMs": 46.28699999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4516.548000000001,
"heapDeltaBytes": 11315156,
"heapUsedBytes": 69742392,
"domNodes": -265,
"jsHeapTotalBytes": 6569984,
"scriptDurationMs": 1371.864,
"eventListeners": -113,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.80000000000109
},
{
"name": "viewport-pan-sweep",
"durationMs": 8608.696000000009,
"styleRecalcs": 249,
"styleRecalcDurationMs": 46.166,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 5101.126,
"heapDeltaBytes": 12954388,
"heapUsedBytes": 71523764,
"domNodes": -269,
"jsHeapTotalBytes": 6541312,
"scriptDurationMs": 1510.356,
"eventListeners": -111,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-idle",
"durationMs": 18395.618000000013,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 18366.553999999996,
"heapDeltaBytes": -59107884,
"heapUsedBytes": 167230328,
"domNodes": -8311,
"jsHeapTotalBytes": -11735040,
"scriptDurationMs": 579.718,
"eventListeners": -16380,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.773333333333238,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-idle",
"durationMs": 19122.75099999988,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 19104.182999999997,
"heapDeltaBytes": -39274276,
"heapUsedBytes": 182018260,
"domNodes": -8311,
"jsHeapTotalBytes": -10686464,
"scriptDurationMs": 574.9929999999999,
"eventListeners": -16386,
"totalBlockingTimeMs": 0,
"frameDurationMs": 18.330000000000048,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-pan",
"durationMs": 23973.591000000055,
"styleRecalcs": 179,
"styleRecalcDurationMs": 30.07199999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 23931.268000000004,
"heapDeltaBytes": -55629044,
"heapUsedBytes": 166310692,
"domNodes": -8312,
"jsHeapTotalBytes": -13570048,
"scriptDurationMs": 976.905,
"eventListeners": -16376,
"totalBlockingTimeMs": 1193,
"frameDurationMs": 17.77666666666652,
"p95FrameDurationMs": 16.700000000004366
},
{
"name": "vue-large-graph-pan",
"durationMs": 23776.994000000057,
"styleRecalcs": 180,
"styleRecalcDurationMs": 31.106000000000023,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 23745.208,
"heapDeltaBytes": -40800568,
"heapUsedBytes": 176109484,
"domNodes": -8311,
"jsHeapTotalBytes": -14966784,
"scriptDurationMs": 969.2630000000001,
"eventListeners": -16372,
"totalBlockingTimeMs": 1149,
"frameDurationMs": 17.780000000000047,
"p95FrameDurationMs": 16.799999999995634
},
{
"name": "workflow-execution",
"durationMs": 503.2299999999168,
"styleRecalcs": 13,
"styleRecalcDurationMs": 19.492,
"layouts": 2,
"layoutDurationMs": 0.461,
"taskDurationMs": 142.27499999999998,
"heapDeltaBytes": -15797604,
"heapUsedBytes": 50895148,
"domNodes": 128,
"jsHeapTotalBytes": 7741440,
"scriptDurationMs": 16.674000000000003,
"eventListeners": 67,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "workflow-execution",
"durationMs": 485.55000000010295,
"styleRecalcs": 13,
"styleRecalcDurationMs": 19.92,
"layouts": 3,
"layoutDurationMs": 0.6659999999999999,
"taskDurationMs": 123.579,
"heapDeltaBytes": -16121236,
"heapUsedBytes": 50595420,
"domNodes": 119,
"jsHeapTotalBytes": 7741440,
"scriptDurationMs": 10.567,
"eventListeners": 65,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.799999999999272
}
]
} |
There was a problem hiding this comment.
🔍 Cursor Review — Consolidated panel
Triggered by @mattmillerai.
Found 1 finding(s).
| Severity | Count |
|---|---|
| 🟠 High | 1 |
Panel: 8/8 reviewers contributed findings.
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #14077 +/- ##
==========================================
+ Coverage 78.57% 78.65% +0.07%
==========================================
Files 1698 1698
Lines 113608 113439 -169
Branches 36753 36006 -747
==========================================
- Hits 89269 89223 -46
+ Misses 23712 23583 -129
- Partials 627 633 +6
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
ELI-5
We have a rule that our
AGENTS.md— the file that tells AI coding agents how to work in this repo — must stay short and tidy: under 200 lines, with a matchingCLAUDE.mdpointer, and a small pointer file next to every nestedAGENTS.md. This PR turns on the automatic checker that enforces that rule on every PR. The checker itself lives in one shared repo, so a PR here can't quietly edit it away.The catch: today the root
AGENTS.mdis 358 lines and a few nested ones are missing their pointer files, so the checker would fail right now. Two sibling PRs fix that — #13740 (trims the root to 194 lines) and #13824 (adds the 4 missing pointer files). So this one is a draft and only goes green once both land. Merge order: #13740 + #13824 first, then this.What this does
.github/workflows/agents-md-integrity.yml— a thin, SHA-pinned caller for the reusableagents-md-integrityworkflow inComfy-Org/github-workflows. Runs on every PR and push tomain.AGENTS.md≤ 200 lines (warns > 150), aCLAUDE.md@AGENTS.mdshim, a sibling shim for every nestedAGENTS.md, and no legacy.cursorrules. The checker is loaded from a pinned ref of the shared repo — never this repo's checkout — so it can't be weakened from within a PR./AGENTS.mdCODEOWNERS rule (same owner as the existing**/AGENTS.mdrule) so the top-level file has an explicit DRI and the checker's CODEOWNERS check is satisfied.Why draft / merge order
Against today's
mainthe checker reports 5 failures (root 358 > 200; 4 nestedAGENTS.mdmissing sibling shims). Those are resolved by:AGENTS.mdto 194 linesCLAUDE.mdshimsOnce both merge, rebasing this branch on
mainflips the check green.Testing
Fetched the pinned checker (
check_agents_md.py@af848b3) and ran it locally:main→ 5 failures (expected, pre-compliance)main+ docs: trim root AGENTS.md under 200 lines #13740 + docs: add missing nested CLAUDE.md shims #13824 + this PR's CODEOWNERS change → pass (exit 0, one non-fatal warning: 194 > 150 aspirational, under the 200 hard ceiling)YAML parses; a single consistent SHA is pinned on both
uses:andworkflows_ref:(satisfies the repo's action-pin policy).Follow-up (separate): register this repo with the agents-md caller bump dispatcher in
Comfy-Org/github-workflowsso checker SHA bumps are opened automatically.